home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
prog_c
/
cuj0696.zip
/
SCHROEDE.ZIP
/
GLYPH.CPP
next >
Wrap
C/C++ Source or Header
|
1996-03-26
|
2KB
|
66 lines
#include "vtk.hh"
main ()
{
vtkRenderMaster rm;
vtkRenderWindow *renWin=rm.MakeRenderWindow();
vtkRenderer *aren=renWin->MakeRenderer();
vtkRenderWindowInteractor *iren=renWin->MakeRenderWindowInteractor();
// read laser data and render face
vtkCyberReader cyber;
cyber.SetFilename("fran_face");
cyber.DebugOn();
vtkPolyNormals normals;
normals.SetInput(cyber.GetOutput());
normals.DebugOn();
vtkPolyMapper cyberMapper;
cyberMapper.SetInput(normals.GetOutput());
vtkActor cyberActor;
cyberActor.SetMapper(cyberMapper);
cyberActor.GetProperty()->SetColor(1,.5,.25);
// create glyphs
vtkMaskPoints ptMask;
ptMask.SetInput(normals.GetOutput());
ptMask.SetOnRatio(100);
ptMask.RandomModeOn();
vtkConeSource cone;
cone.SetResolution(6);
vtkTransform transform;
transform.Translate(.5,0,0);
vtkTransformPolyFilter transformF;
transformF.SetInput(cone.GetOutput());
transformF.SetTransform(transform);
vtkGlyph3D glyph;
glyph.SetInput(ptMask.GetOutput());
glyph.SetSource(transformF.GetOutput());
glyph.UseNormal();
glyph.ScaleByVector();
glyph.SetScaleFactor(.004);
vtkPolyMapper spikeMapper;
spikeMapper.SetInput(glyph.GetOutput());
vtkActor spikeActor;
spikeActor.SetMapper(spikeMapper);
spikeActor.GetProperty()->SetColor(0,.79,.34);
// render the actors
aren->AddActors(&cyberActor);
aren->AddActors(&spikeActor);
aren->SetBackground(.1,.2,.4);
renWin->Render();
// interact with data
iren->Start();
}